package com.stylefeng.guns.rest.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 周边店铺拼单
 * </p>
 *
 * @author ruiyifeng123
 * @since 2019-03-26
 */
@TableName("wz_map_merge")
public class WzMapMerge extends Model<WzMapMerge> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "map_merge_id", type = IdType.ID_WORKER)
    private Long mapMergeId;
    /**
     * 周边店铺id
     */
    @TableField("adv_map_id")
    private Long advMapId;
    /**
     * 礼券id
     */
    @TableField("coupon_id")
    private Long couponId;
    /**
     * 拼单图片
     */
    private String pic;
    /**
     * 商户名称
     */
    @TableField("merchant_name")
    private String merchantName;
    /**
     * 商户编号
     */
    @TableField("merchant_user_code")
    private Long merchantUserCode;
    /**
     * 优惠信息
     */
    private String benefit;
    /**
     * 拼单价
     */
    @TableField("merge_price")
    private Integer mergePrice;
    /**
     * 拼单人数：默认2人
     */
    @TableField("merge_number")
    private Integer mergeNumber;
    /**
     * 状态:1-编辑中;2-审核中;3-审核驳回;4-审核通过;5-发布;6-下架;7-过期;
     */
    private Integer status;
    /**
     * 一级分类
     */
    @TableField("adv_map_category_first")
    private String advMapCategoryFirst;
    /**
     * 是否推荐：0-否；1-是；
     */
    @TableField("is_recommend")
    private Integer isRecommend;
    /**
     * 推荐排序
     */
    private Integer sort;
    /**
     * 开始时间
     */
    @TableField("begin_time")
    private Date beginTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 销量
     */
    private Integer sales;
    /**
     * 总数
     */
    @TableField("total_number")
    private Integer totalNumber;
    /**
     *  剩余数量
     */
    @TableField("surplus_number")
    private Integer surplusNumber;
    /**
     * 每人限购件数
     */
    @TableField("limit_number")
    private Integer limitNumber;
    /**
     * 驳回理由
     */
    @TableField("reject_remark")
    private String rejectRemark;
    /**
     * 发布地区
     */
    @TableField("ad_code")
    private String adCode;
    /**
     * 分享
     */
    @TableField("share_link")
    private String shareLink;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    @Version
    private Integer version;


    public Long getMapMergeId() {
        return mapMergeId;
    }

    public void setMapMergeId(Long mapMergeId) {
        this.mapMergeId = mapMergeId;
    }

    public Long getAdvMapId() {
        return advMapId;
    }

    public void setAdvMapId(Long advMapId) {
        this.advMapId = advMapId;
    }

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public Long getMerchantUserCode() {
        return merchantUserCode;
    }

    public void setMerchantUserCode(Long merchantUserCode) {
        this.merchantUserCode = merchantUserCode;
    }

    public String getBenefit() {
        return benefit;
    }

    public void setBenefit(String benefit) {
        this.benefit = benefit;
    }

    public Integer getMergePrice() {
        return mergePrice;
    }

    public void setMergePrice(Integer mergePrice) {
        this.mergePrice = mergePrice;
    }

    public Integer getMergeNumber() {
        return mergeNumber;
    }

    public void setMergeNumber(Integer mergeNumber) {
        this.mergeNumber = mergeNumber;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getAdvMapCategoryFirst() {
        return advMapCategoryFirst;
    }

    public void setAdvMapCategoryFirst(String advMapCategoryFirst) {
        this.advMapCategoryFirst = advMapCategoryFirst;
    }

    public Integer getIsRecommend() {
        return isRecommend;
    }

    public void setIsRecommend(Integer isRecommend) {
        this.isRecommend = isRecommend;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Date getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(Date beginTime) {
        this.beginTime = beginTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getSales() {
        return sales;
    }

    public void setSales(Integer sales) {
        this.sales = sales;
    }

    public Integer getTotalNumber() {
        return totalNumber;
    }

    public void setTotalNumber(Integer totalNumber) {
        this.totalNumber = totalNumber;
    }

    public Integer getSurplusNumber() {
        return surplusNumber;
    }

    public void setSurplusNumber(Integer surplusNumber) {
        this.surplusNumber = surplusNumber;
    }

    public Integer getLimitNumber() {
        return limitNumber;
    }

    public void setLimitNumber(Integer limitNumber) {
        this.limitNumber = limitNumber;
    }

    public String getRejectRemark() {
        return rejectRemark;
    }

    public void setRejectRemark(String rejectRemark) {
        this.rejectRemark = rejectRemark;
    }

    public String getAdCode() {
        return adCode;
    }

    public void setAdCode(String adCode) {
        this.adCode = adCode;
    }

    public String getShareLink() {
        return shareLink;
    }

    public void setShareLink(String shareLink) {
        this.shareLink = shareLink;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    protected Serializable pkVal() {
        return this.mapMergeId;
    }

    @Override
    public String toString() {
        return "WzMapMerge{" +
        "mapMergeId=" + mapMergeId +
        ", advMapId=" + advMapId +
        ", couponId=" + couponId +
        ", pic=" + pic +
        ", merchantName=" + merchantName +
        ", merchantUserCode=" + merchantUserCode +
        ", benefit=" + benefit +
        ", mergePrice=" + mergePrice +
        ", mergeNumber=" + mergeNumber +
        ", status=" + status +
        ", advMapCategoryFirst=" + advMapCategoryFirst +
        ", isRecommend=" + isRecommend +
        ", sort=" + sort +
        ", beginTime=" + beginTime +
        ", endTime=" + endTime +
        ", sales=" + sales +
        ", totalNumber=" + totalNumber +
        ", surplusNumber=" + surplusNumber +
        ", limitNumber=" + limitNumber +
        ", rejectRemark=" + rejectRemark +
        ", adCode=" + adCode +
        ", shareLink=" + shareLink +
        ", createTime=" + createTime +
        ", version=" + version +
        "}";
    }
}
